const BASE_URL = 'http://api-breakingnews-web.itheima.net'
// 第一个功能 :切换注册和登录
// 点击去注册,让注册的盒子显示
$('#goto-register').on('click', function () {
  $('#register').show()
})
// 点击去登录,让注册的盒子隐藏
$('#goto-login').on('click', function () {
  $('#register').hide()
})

// 第二个功能 : 注册校验 - 登录
let form = window.layui.form
form.verify({
  // lay-verify='mage'
  // mage: function (value) {
  //   //value：表单的值

  //   if (/^\d+\d+\d$/.test(value)) {
  //     return '马哥说的 ： 用户名不能全为数字'
  //   }
  // },
  username: function (value) {
    //value：表单的值

    if (!/^[a-z0-9]{6,10}$/.test(value)) {
      return '马哥说 ： 用户名格式不对，应该在6-10之间'
    }
  },
  password: function (value) {
    //value：表单的值

    if (!/^[\S]{6,10}$/.test(value)) {
      return '马哥说 ： 密码格式不对'
    }
  },
  // 重新输入密码的地方
  repwd: function (value) {
    //             请输入密码                     请再次输入密码
    // $('#register  input[name=password]').val() !== value
    if ($('#register input[name=password]').val() !== value) {
      return '马哥说 : 前后密码不一致!'
    }
  },
})

// 第三个功能 : 注册提交
// 不要给注册按钮直接注册事件,因为它不理会校验的格式正确不正确
// $('#register .layui-btn').on('click', function (e) {
//   e.preventDefault()
//   console.log(123)
// })

//1. 注册点击事件
// 使用 form 注册 submit 事件的功能好处在于,如果校验格式不正确,这里是不会进来的
$('#register .layui-form').on('submit', function (e) {
  //2. 阻止默认行为
  e.preventDefault()

  //2.5 收集数据
  let data = $('#register form').serialize()

  //3. 发送请求
  axios.post(`${BASE_URL}/api/reguser`, data).then(res => {
    console.log(res)
    if (res.data.status === 0) {
      //4. 让注册的盒子隐藏
      $('#register').hide()
    }
  })
})

// 第四个功能 : 登录提交
//1.给登录的form 注册submit事件
$('#login .layui-form').on('submit', function (e) {
  //2. 阻止默认行为
  e.preventDefault()

  //2.5 收集数据
  let data = $('#login form').serialize()

  //3. 发送请求
  axios.post(`${BASE_URL}/api/login`, data).then(res => {
    console.log('登录的结果:', res)
    //4. 解构
    let { status, message } = res.data

    //5. 判断
    if (status === 0) {
      //6.1 保存token到本地
      localStorage.setItem('token', res.data.token)

      //6.2 弹框
      layer.msg(
        message,
        {
          icon: 1,
          time: 2000, //2秒关闭（如果不配置，默认是3秒）
        },
        function () {
          //do something
          // 6.3 跳转到其他页面
          location.href = '/index.html'
        }
      )
    } else {
      layer.msg(
        message,
        {
          icon: 2,
          time: 2000, //2秒关闭（如果不配置，默认是3秒）
        },
        function () {
          //do something
        }
      )
    }
  })
})
